package cn.pupil.design;

/**
 * @Description: 记录者，记录现在的配置文件，存储形成备忘录
 * @Author: pupil
 * @Date: 2024/07/28 下午 9:08
 */
public class ConfigOriginator {

    private ConfigFile configFile;

    public void setConfigFile(ConfigFile configFile) {
        this.configFile = configFile;
    }

    public ConfigFile getConfigFile() {
        return configFile;
    }

    /**
     * 保存备忘录
     * 保存备忘录的时候会创建一个备忘录信息，并返回回去，交给管理者处理
     * @return
     */
    public ConfigMemento saveMemento() {
        return new ConfigMemento(configFile);
    }

    /**
     * 把备忘录的信息交给现在的配置⽂件
     * @param memento
     */
    public void getMemento(ConfigMemento memento) {
        this.configFile = memento.getConfigFile();
    }
}
